package lormi.meipin.util;

import java.util.regex.Pattern;

import lormi.meipin.exception.LMException;

/**
 * 正则工具类
 * */
public class TPatternUtil {
	
	/**
	 * 匹配整个字符串
	 * */
	public static boolean matches(String regex,String str){
		return Pattern.compile(regex).matcher(str).matches();	
	}
	/**
	 * 查询符合部分
	 * */
	public static boolean find(String regex,String str){
		return Pattern.compile(regex).matcher(str).find();	
	}
	/**
	 * 匹配数字
	 * */
	public static boolean isNumber(String str){
		return matches("[0-9]+",str);
	}
	/**
	 * 匹配固定长度的数字
	 * */
	public static boolean isLenNumber(int len,String str){
		return len<=0?false:matches("[0-9]{"+len+"}",str);
	}
	/**
	 * 匹配手机号
	 * @throws LMException 
	 * */
	public static void isPhone(String str) throws LMException{
		if(!isLenNumber(11,str)){
			throw new LMException(120007);//手机验证码格式错误
		}
	}
	/**
	 * 匹配6位验证码
	 * @throws LMException 
	 * */
	public static void isPhoneCode(String str) throws LMException{
		if(!isLenNumber(6,str)){
			throw new LMException(120009);//手机验证码格式错误
		}
	}
	/**
	 * 过滤特殊字符
	 * */
	public static String replaceSpecialChar(String str){
		return Pattern.compile("[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~！@#￥%……&*（）——+|{}【】‘；：”“’。，、？]").matcher(str).replaceAll("");
	}
	/**
	 * 只能是中文、大小字母和数字
	 * */
	public static boolean replaceChiness(String str){
		return Pattern.compile("[^(\\u4e00-\\u9fa5A-Za-z0-9&·)]+").matcher(str).find();
	}
	
	public static void main(String[] args) {
		System.out.println(TPatternUtil.replaceChiness(""));
	}
}
